home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-01 | 4.1 KB | 139 lines | [TEXT/MPS ] |
- /*
- File: Dialogs.idl
-
- Contains: Dialog Manager interfaces.
-
- Version: Technology: System 7.5
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- */
- #ifndef __DIALOGS_IDL__
- #define __DIALOGS_IDL__
-
- #include <somobj.idl>
- #include <somcls.idl>
-
- #ifndef __ERRORS_IDL__
- #include <Errors.idl>
- #endif
- #ifndef __MEMORY_IDL__
- #include <Memory.idl>
- #endif
- #ifndef __MENUS_IDL__
- #include <Menus.idl>
- #endif
- #ifndef __CONTROLS_IDL__
- #include <Controls.idl>
- #endif
- #ifndef __WINDOWS_IDL__
- #include <Windows.idl>
- #endif
- #ifndef __TEXTEDIT_IDL__
- #include <TextEdit.idl>
- #endif
- #ifndef __EVENTS_IDL__
- #include <Events.idl>
- #endif
-
- #ifdef __SOMIDL__
-
- #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
- #if OLDROUTINENAMES
- /*
- These constants lived briefly on ETO 16. They suggest
- that there is only one index you can use for the OK
- item, which is not true. You can put the ok item
- anywhere you want in the DITL.
- */
- #endif
- /* Dialog Item List Manipulation Constants */
- typedef SInt16 DITLMethod;
-
- typedef SInt16 StageList;
-
- typedef DialogPtr DialogRef;
-
- typedef SOMLargeStruct DialogRecord; /* Derived from a struct of 170 bytes in size */
-
- typedef OpaquePtr DialogPeek; /* Substituted OpaquePtr for “DialogRecord*” */
-
- typedef SOMLargeStruct DialogTemplate; /* Derived from a struct of 276 bytes in size */
-
- typedef OpaquePtr DialogTPtr; /* Substituted OpaquePtr for “DialogTemplate*” */
-
- typedef OpaquePtr DialogTHndl; /* Substituted OpaquePtr for “DialogTPtr*” */
-
- typedef SOMLargeStruct AlertTemplate; /* Derived from a struct of 12 bytes in size */
-
- typedef OpaquePtr AlertTPtr; /* Substituted OpaquePtr for “AlertTemplate*” */
-
- typedef OpaquePtr AlertTHndl; /* Substituted OpaquePtr for “AlertTPtr*” */
-
- /* new type abstractions for the dialog manager */
- typedef SInt16 DialogItemIndexZeroBased;
-
- typedef SInt16 DialogItemIndex;
-
- typedef SInt16 DialogItemType;
-
- /* dialog manager callbacks */
- typedef OpaquePtr SoundProcPtr;
- typedef OpaquePtr SoundUPP;
- typedef OpaquePtr ModalFilterProcPtr;
- typedef OpaquePtr ModalFilterUPP;
- typedef OpaquePtr UserItemProcPtr;
- typedef OpaquePtr UserItemUPP;
- /*
- NOTE: Code running under MultiFinder or System 7.0 or newer
- should always pass NULL to InitDialogs.
- */
- #if CGLUESUPPORTED
- #endif
- #if OLDROUTINENAMES
- #if CGLUESUPPORTED
- #endif
- #endif
- /*
- *****************************************************************************
- * *
- * The conditional STRICT_DIALOGS has been removed from this interface file. *
- * The accessor macros to a DialogRecord are no longer necessary. *
- * *
- *****************************************************************************
-
- Details:
- The original purpose of the STRICT_ conditionals and accessor macros was to
- help ease the transition to Copland. Shared data structures are difficult
- to coordinate in a preemptive multitasking OS. By hiding the fields in a
- WindowRecord and other data structures, we would begin the migration to
- system data structures being completely hidden from applications.
-
- After many design reviews, it was finally concluded that with this sort of
- migration, the system could never tell when an application was no longer
- peeking at a WindowRecord, and thus the data structure might never become
- system owned. Additionally, there were many other limitations in the classic
- toolbox that were begging to be addressed.
-
- The final decision was to leave the traditional toolbox as a compatibility mode.
- The preferred toolbox API for Copland is a new SOM(tm) based architecture
- (e.g. HIWindows.idl). Windows, menu, controls, etc are each a SOM object
- with methods for drawing, event handling, and customization.
-
- */
- #endif
- #if FOR_SYSTEM7_ONLY
- #endif
-
- #endif /* __SOMIDL__ */
-
- #endif /* __DIALOGS_IDL__ */
-
-